using UnityEngine;
using UnityEngine.UI;

[AddComponentMenu("BoneCracker Games/Realistic Car Controller/UI/Dashboard Colors")]
public class RCC_DashboardColors : MonoBehaviour
{
	public Image[] huds;

	public Color hudColor = Color.white;

	public Slider hudColor_R;

	public Slider hudColor_G;

	public Slider hudColor_B;

	public void Awake()
	{
		if (huds == null || huds.Length < 1)
		{
			base.enabled = false;
		}
		if (!hudColor_R || !hudColor_G || !hudColor_B)
		{
			return;
		}
		if (PlayerPrefs.HasKey("hudColor.r") && PlayerPrefs.HasKey("hudColor.g") && PlayerPrefs.HasKey("hudColor.b"))
		{
			hudColor_R.value = PlayerPrefs.GetFloat("hudColor.r");
			hudColor_G.value = PlayerPrefs.GetFloat("hudColor.g");
			hudColor_B.value = PlayerPrefs.GetFloat("hudColor.b");
			if ((bool)hudColor_R && (bool)hudColor_G && (bool)hudColor_B)
			{
				hudColor = new Color(hudColor_R.value, hudColor_G.value, hudColor_B.value);
			}
			for (int i = 0; i < huds.Length; i++)
			{
				huds[i].color = new Color(hudColor.r, hudColor.g, hudColor.b, huds[i].color.a);
			}
		}
		else
		{
			hudColor_R.value = hudColor.r;
			hudColor_G.value = hudColor.g;
			hudColor_B.value = hudColor.b;
		}
	}

	private void Update()
	{
		if ((bool)hudColor_R && (bool)hudColor_G && (bool)hudColor_B)
		{
			hudColor = new Color(hudColor_R.value, hudColor_G.value, hudColor_B.value);
		}
		for (int i = 0; i < huds.Length; i++)
		{
			huds[i].color = new Color(hudColor.r, hudColor.g, hudColor.b, huds[i].color.a);
		}
	}

	public void SaveHud()
	{
		PlayerPrefs.SetFloat("hudColor.r", hudColor_R.value);
		PlayerPrefs.SetFloat("hudColor.g", hudColor_G.value);
		PlayerPrefs.SetFloat("hudColor.b", hudColor_B.value);
	}
}
